"""
变量的作用域
"""


# 局部变量
def func_a():
    num = 100
    print(f"num={num}")


func_a()
# print(num) 报错 函数func_a的局部变量不能在外部被调用

# 全局变量
number = 100


def func_b():
    print(f"number={number}")


func_b()
print(f"全局变量number={number}")  # 全局变量可以在外部调用

# 在函数内修改全局变量
print("------在函数内修改全局变量-----")
num = 200


def test_a():
    print(f"test_a：{num}")


def test_b():
    # 函数内部修改全局变量 在函数内部此变量变为局部变量
    num = 500
    print(f"test_b：{num}")


test_a()
test_b()
print(num)  # 函数内部修改了全局变量，但是打印的依然是修改前的数值

# global关键字，在函数内声明变量为全局变量
print("------global关键字，在函数内声明变量为全局变量-----")
num = 200


def test_a():
    print(f"test_a：{num}")


def test_b():
    global num  # 设置内部定义的变量为全局变量
    num = 500
    print(f"test_b：{num}")


test_a()
test_b()
print(num)  # 函数内部修改了全局变量，但是打印的依然是修改前的数值
